#include <iostream>
#include <unordered_set>



using namespace std;
const int N=60;
unordered_set<int> has[N];

double ret[N][N];
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int k;
		cin>>k;
		while(k--)
		{
			int num;
			scanf("%d",&num);
			
			has[i].insert(num);
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=i+1;j<=n;j++)
		{
			int nc=0;
			int nt=0;
			unordered_set<int> cal;
			for(auto& e:has[i])
			{
				cal.insert(e);
				if(has[j].count(e))
					nc++;
			}
			for(auto& e:has[j])
			{
				cal.insert(e);
			}
			nt=cal.size();
			
			ret[i][j]=ret[j][i]=1.0*nc/nt*100;
		}
	}
	
	int k;
	cin>>k;
	while(k--)
	{
		int x,y;
		cin>>x>>y;
		
		printf("%.2lf\%\n",ret[x][y]);

	}
	return 0;
}
